import type { PageParam, PageResult } from '@vben/request';

import { requestClient } from '#/api/request';

export namespace DroneListApi {
  /** 无人机侦测列表信息 */
  export interface DroneList {
    id: number; // 编号
    droneId: string; // 无人机id（侦测设备生成）
    snCode: string; // 无人机序列号
    droneHeight: number; // 无人机高度
    model: string; // 型号
    firstDetectedAt: string; // 首次发现日期
    droneGpsLat: number; // 无人机纬度
    droneGpsLng: number; // 无人机经度
    sensorId: string; // 雷达id
    droneAzimuth: number; // 无人机方位角
    droneDistance: number; // 无人机距离
    rcGpsLat: number; // 遥控器纬度
    rcGpsLng: number; // 遥控器经度
    rcAzimuth: number; // 遥控器方位角
    rcDistance: number; // 遥控器距离
    requestStatus: string; // 请求状态
    errorMessage: string; // 错误信息
  }
}

/** 查询无人机侦测列表分页 */
export function getDroneListPage(params: PageParam) {
  return requestClient.get<PageResult<DroneListApi.DroneList>>(
    '/detection/drone-list/page',
    { params },
  );
}

/** 查询无人机侦测列表详情 */
export function getDroneList(id: number) {
  return requestClient.get<DroneListApi.DroneList>(
    `/detection/drone-list/get?id=${id}`,
  );
}

/** 新增无人机侦测列表 */
export function createDroneList(data: DroneListApi.DroneList) {
  return requestClient.post('/detection/drone-list/create', data);
}

/** 修改无人机侦测列表 */
export function updateDroneList(data: DroneListApi.DroneList) {
  return requestClient.put('/detection/drone-list/update', data);
}

/** 删除无人机侦测列表 */
export function deleteDroneList(id: number) {
  return requestClient.delete(`/detection/drone-list/delete?id=${id}`);
}

/** 批量删除无人机侦测列表 */
export function deleteDroneListListByIds(ids: number[]) {
  return requestClient.delete(
    `/detection/drone-list/delete-list?ids=${ids.join(',')}`,
  );
}

/** 导出无人机侦测列表 */
export function exportDroneList(params: any) {
  return requestClient.download('/detection/drone-list/export-excel', params);
}
